geometry abstraction